<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>运行时配置</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="info.installation.html">安装</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="info.resources.html">资源类型</a></div>
 <div class="up"><a href="info.setup.html">安装／配置</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="info.configuration" class="section">
 <h2 class="title">运行时配置</h2>
 <p class="simpara">
这些函数的行为受 <var class="filename">php.ini</var> 中的设置影响。
</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>PHP 选项/Inf 配置选项</strong></caption>
   
    <thead>
     <tr>
      <th>名字</th>
      <th>默认</th>
      <th>可修改范围</th>
      <th>更新日志</th>
     </tr>

    </thead>

    <tbody class="tbody">
    <tr>
     <td><a href="info.configuration.html#ini.assert.active" class="link">assert.active</a></td>
     <td>&quot;1&quot;</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.assert.bail" class="link">assert.bail</a></td>
     <td>&quot;0&quot;</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.assert.warning" class="link">assert.warning</a></td>
     <td>&quot;1&quot;</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.assert.callback" class="link">assert.callback</a></td>
     <td>NULL</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.assert.quiet-eval" class="link">assert.quiet_eval</a></td>
     <td>&quot;0&quot;</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.enable-dl" class="link">enable_dl</a></td>
     <td>&quot;1&quot;</td>
     <td>PHP_INI_SYSTEM</td>
     <td>本过时特性<em class="emphasis">将</em>肯定会在未来被<em class="emphasis">移除</em>。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.max-execution-time" class="link">max_execution_time</a></td>
     <td>&quot;30&quot;</td>
     <td>PHP_INI_ALL</td>
     <td class="empty">&nbsp;</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.max-input-time" class="link">max_input_time</a></td>
     <td>&quot;-1&quot;</td>
     <td>PHP_INI_PERDIR</td>
     <td>自 PHP 4.3.0 起有效。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.max-input-nesting-level" class="link">max_input_nesting_level</a></td>
     <td>&quot;64&quot;</td>
     <td>PHP_INI_PERDIR</td>
     <td>自 PHP 4.4.8 and PHP 5.2.3 起有效。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.max-input-vars" class="link">max_input_vars</a></td>
     <td>1000</td>
     <td>PHP_INI_PERDIR</td>
     <td>自 PHP 5.3.9 起有效。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.magic-quotes-gpc" class="link">magic_quotes_gpc</a></td>
     <td>&quot;1&quot;</td>
     <td>PHP_INI_PERDIR</td>
     <td>在 PHP &lt;= 4.2.3 是 PHP_INI_ALL，在 PHP 5.4.0 中被移除。</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.magic-quotes-runtime" class="link">magic_quotes_runtime</a></td>
     <td>&quot;0&quot;</td>
     <td>PHP_INI_ALL</td>
     <td>在 PHP 5.4.0 中移除</td>
    </tr>

    <tr>
     <td><a href="info.configuration.html#ini.zend.enable-gc" class="link">zend.enable_gc</a></td>
     <td>&quot;1&quot;</td>
     <td>PHP_INI_ALL</td>
     <td>自 PHP 5.3.0 起有效。</td>
    </tr>

    </tbody>
   
  </table>

  有关 PHP_INI_* 样式的更多详情与定义，见 <a href="configuration.changes.modes.html" class="xref">配置可被设定范围</a>。
 </p>
 
 <p class="para">这是配置指令的简短说明。</p>
 
 <p class="para">
  <dl>

   
    <dt id="ini.assert.active">
     <em><code class="parameter">assert.active</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      激活 <span class="function"><a href="function.assert.html" class="function">assert()</a></span> 断言评测。
     </p>
    </dd>

   

   
    <dt id="ini.assert.bail">
     <em><code class="parameter">assert.bail</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      失败的断言将中止脚本。
     </p>
    </dd>

   

   
    <dt id="ini.assert.warning">
     <em><code class="parameter">assert.warning</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      为每个失败的断言产生一条 PHP 警告信息
     </p>
    </dd>

   

   
    <dt id="ini.assert.callback">
     <em><code class="parameter">assert.callback</code></em>
     <span class="type"><a href="language.types.string.html" class="type string">string</a></span>
    </dt>

    <dd>

     <p class="para">
      失败的断言将调用用户的函数
     </p>
    </dd>

   

   
    <dt id="ini.assert.quiet-eval">
     <em><code class="parameter">assert.quiet_eval</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      在 断言表达式执行时 <span class="function"><a href="function.error-reporting.html" class="function">error_reporting()</a></span> 使用当前的设置。
      如果启用了，在执行时错误将不会被显示（隐式的 error_reporting(0)）。
      如果禁用了，错误将根据 <span class="function"><a href="function.error-reporting.html" class="function">error_reporting()</a></span> 的设置来显示。
     </p>
    </dd>

   

   
    <dt id="ini.enable-dl">
      <em><code class="parameter">enable_dl</code></em>
      <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      该指令仅对 Apache 模块版本的 PHP 有效。
      你可以针对每个虚拟机或每个目录开启或关闭 <span class="function"><a href="function.dl.html" class="function">dl()</a></span> 动态加载 PHP 模块。
     </p>
     <p class="para">
      关闭动态加载的主要原因是为了安全。通过动态加载，有可能忽略所有 <a href="ini.core.html#ini.open-basedir" class="link">open_basedir</a> 限制。
      默认允许动态加载，除了使用 <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">安全模式</a>。在 <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">安全模式</a>，总是无法使用 <span class="function"><a href="function.dl.html" class="function">dl()</a></span>。
     </p>
    </dd>

   

   
    <dt id="ini.max-execution-time">
     <em><code class="parameter">max_execution_time</code></em>
      <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>
    </dt>

    <dd>

     <p class="para">
      这设置了脚本被解析器中止之前允许的最大执行时间，单位秒。
      这有助于防止写得不好的脚本占尽服务器资源。
      默认设置为 <em>30</em>。
      从<a href="features.commandline.html" class="link">命令行</a>运行 PHP 时，默认设置为 <em>0</em>。
     </p>
     <p class="para">
      最大执行时间不会影响系统调用和系统操作等。更多细节参见 <span class="function"><a href="function.set-time-limit.html" class="function">set_time_limit()</a></span>。
     </p>
     <p class="para">
      在 <a href="ini.sect.safe-mode.html#ini.safe-mode" class="link">安全模式</a> 下你不能通过 <span class="function"><a href="function.ini-set.html" class="function">ini_set()</a></span> 来修改此设置。
      唯一的解决方法是关闭安全模式或者在 <var class="filename">php.ini</var> 中修改时间限制。
     </p>
     <p class="para">
      你的 web 服务器也可以有其他超时设置，也有可能中断 PHP 的执行。
      Apache 有一个
      <em>Timeout</em> 指令，IIS 有一个 CGI 超时功能。
      他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
     </p>
    </dd>

   

   
    <dt id="ini.max-input-time">
     <em><code class="parameter">max_input_time</code></em>
      <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>
    </dt>

    <dd>

     <p class="para">
      脚本解析输入数据（类似 POST 和 GET）允许的最大时间，单位是秒。
      它从接收所有数据到开始执行脚本进行测量的。
     </p>
    </dd>

   

   
    <dt id="ini.max-input-nesting-level">
     <em><code class="parameter">max_input_nesting_level</code></em>
     <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>
    </dt>

    <dd>

     <p class="para">
      设置<a href="language.variables.external.html" class="link">输入变量</a>的嵌套深度
       (例如 <var class="varname"><var class="varname"><a href="reserved.variables.get.html" class="classname">$_GET</a></var></var>，<var class="varname"><var class="varname"><a href="reserved.variables.post.html" class="classname">$_POST</a></var></var>……)
     </p>
    </dd>

   

   
    <dt id="ini.max-input-vars">
     <em><code class="parameter">max_input_vars</code></em>
     <span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>
    </dt>

    <dd>

     <p class="para">
      接受多少 <a href="language.variables.external.html" class="link">输入的变量</a>（限制分别应用于 $_GET、$_POST 和 $_COOKIE 超全局变量）
      指令的使用减轻了以哈希碰撞来进行拒绝服务攻击的可能性。
      如有超过指令指定数量的输入变量，将会导致 <strong><code>E_WARNING</code></strong> 的产生，
      更多的输入变量将会从请求中截断。
      此限制仅应用于一个多维输入数组的每个嵌套级别。
     </p>
    </dd>

   
   
   
    <dt id="ini.magic-quotes-gpc">
     <em><code class="parameter">magic_quotes_gpc</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

     <dd>

     <div class="warning"><strong class="warning">Warning</strong><p class="simpara">本特性已自
PHP 5.3.0 起<em class="emphasis">废弃</em>并将自 PHP 5.4.0
起<em class="emphasis">移除</em>。</p></div>
     <p class="para">
      为 GPC (Get/Post/Cookie) 操作设置 magic_quotes 状态。
      当 magic_quotes 为 on，所有的 &#039; (单引号)、&quot; (双引号)、\（反斜杠）和 NUL&#039;s 被一个反斜杠自动转义。
     </p>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <p class="para">
       在 PHP 4，<var class="varname"><var class="varname"><a href="reserved.variables.environment.html" class="classname">$_ENV</a></var></var>也会被转义。
      </p>
     </p></blockquote>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <p class="para">
       如果 <a href="sybase.configuration.html#ini.magic-quotes-sybase" class="link">
       magic_quotes_sybase</a> 也是 ON，它会完全覆盖 magic_quotes_gpc。
       两个指令都启用意味着只有单引号被转义为 <em class="emphasis">&#039;&#039;</em>。
       双引号、反斜杠和 NUL&#039;s 不会被转义。
      </p>
     </p></blockquote>
     <p class="para">
      See also <span class="function"><a href="function.get-magic-quotes-gpc.html" class="function">get_magic_quotes_gpc()</a></span>
     </p>
    </dd>

   

   
    <dt id="ini.magic-quotes-runtime">
     <em><code class="parameter">magic_quotes_runtime</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <div class="warning"><strong class="warning">Warning</strong><p class="simpara">本特性已自
PHP 5.3.0 起<em class="emphasis">废弃</em>并将自 PHP 5.4.0
起<em class="emphasis">移除</em>。</p></div>
     <p class="para">
      如果启用了 <em><code class="parameter">magic_quotes_runtime</code></em>，大多数返回任何形式外部数据的函数，包括数据库和文本段将会用反斜线转义引号。   
      如果启用了 <a href="sybase.configuration.html#ini.magic-quotes-sybase" class="link">magic_quotes_sybase</a>，单引号会被单引号转义而不是反斜线。
     </p>
     <p class="para">
      受 <em><code class="parameter">magic_quotes_runtime</code></em> 影响的函数（不包括 PECL 里的函数）：
      <ul class="simplelist">
       <li class="member"><span class="function"><a href="function.get-meta-tags.html" class="function">get_meta_tags()</a></span></li>
       <li class="member"><span class="function"><a href="function.file-get-contents.html" class="function">file_get_contents()</a></span></li>
       <li class="member"><span class="function"><a href="function.file.html" class="function">file()</a></span></li>
       <li class="member"><span class="function"><a href="function.fgets.html" class="function">fgets()</a></span></li>
       <li class="member"><span class="function"><a href="function.fwrite.html" class="function">fwrite()</a></span></li>
       <li class="member"><span class="function"><a href="function.fread.html" class="function">fread()</a></span></li>
       <li class="member"><span class="function"><a href="function.fputcsv.html" class="function">fputcsv()</a></span></li>
       <li class="member"><span class="function"><a href="function.stream-socket-recvfrom.html" class="function">stream_socket_recvfrom()</a></span></li>
       <li class="member"><span class="function"><a href="function.exec.html" class="function">exec()</a></span></li>
       <li class="member"><span class="function"><a href="function.system.html" class="function">system()</a></span></li>
       <li class="member"><span class="function"><a href="function.passthru.html" class="function">passthru()</a></span></li>
       <li class="member"><span class="function"><a href="function.stream-get-contents.html" class="function">stream_get_contents()</a></span></li>
       <li class="member"><span class="function"><a href="function.bzread.html" class="function">bzread()</a></span></li>
       <li class="member"><span class="function"><a href="function.gzfile.html" class="function">gzfile()</a></span></li>
       <li class="member"><span class="function"><a href="function.gzgets.html" class="function">gzgets()</a></span></li>
       <li class="member"><span class="function"><a href="function.gzwrite.html" class="function">gzwrite()</a></span></li>
       <li class="member"><span class="function"><a href="function.gzread.html" class="function">gzread()</a></span></li>
       <li class="member"><span class="function"><a href="function.exif-read-data.html" class="function">exif_read_data()</a></span></li>
       <li class="member"><span class="function"><a href="function.dba-insert.html" class="function">dba_insert()</a></span></li>
       <li class="member"><span class="function"><a href="function.dba-replace.html" class="function">dba_replace()</a></span></li>
       <li class="member"><span class="function"><a href="function.dba-fetch.html" class="function">dba_fetch()</a></span></li>
       <li class="member"><span class="function"><a href="function.ibase-fetch-row.html" class="function">ibase_fetch_row()</a></span></li>
       <li class="member"><span class="function"><a href="function.ibase-fetch-assoc.html" class="function">ibase_fetch_assoc()</a></span></li>
       <li class="member"><span class="function"><a href="function.ibase-fetch-object.html" class="function">ibase_fetch_object()</a></span></li>
       <li class="member"><span class="function"><a href="function.mssql-fetch-row.html" class="function">mssql_fetch_row()</a></span></li>
       <li class="member"><span class="function"><a href="function.mssql-fetch-object.html" class="function">mssql_fetch_object()</a></span></li>
       <li class="member"><span class="function"><a href="function.mssql-fetch-array.html" class="function">mssql_fetch_array()</a></span></li>
       <li class="member"><span class="function"><a href="function.mssql-fetch-assoc.html" class="function">mssql_fetch_assoc()</a></span></li>
       <li class="member"><span class="function"><a href="mysqli-result.fetch-row.html" class="function">mysqli_fetch_row()</a></span></li>
       <li class="member"><span class="function"><a href="mysqli-result.fetch-array.html" class="function">mysqli_fetch_array()</a></span></li>
       <li class="member"><span class="function"><a href="mysqli-result.fetch-assoc.html" class="function">mysqli_fetch_assoc()</a></span></li>
       <li class="member"><span class="function"><a href="mysqli-result.fetch-object.html" class="function">mysqli_fetch_object()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-fetch-row.html" class="function">pg_fetch_row()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-fetch-assoc.html" class="function">pg_fetch_assoc()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-fetch-array.html" class="function">pg_fetch_array()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-fetch-object.html" class="function">pg_fetch_object()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-fetch-all.html" class="function">pg_fetch_all()</a></span></li>
       <li class="member"><span class="function"><a href="function.pg-select.html" class="function">pg_select()</a></span></li>
       <li class="member"><span class="function"><a href="function.sybase-fetch-object.html" class="function">sybase_fetch_object()</a></span></li>
       <li class="member"><span class="function"><a href="function.sybase-fetch-array.html" class="function">sybase_fetch_array()</a></span></li>
       <li class="member"><span class="function"><a href="function.sybase-fetch-assoc.html" class="function">sybase_fetch_assoc()</a></span></li>
       <li class="member"><span class="function"><a href="splfileobject.fgets.html" class="function">SplFileObject::fgets()</a></span></li>
       <li class="member"><span class="function"><a href="splfileobject.fgetcsv.html" class="function">SplFileObject::fgetcsv()</a></span></li>
       <li class="member"><span class="function"><a href="splfileobject.fwrite.html" class="function">SplFileObject::fwrite()</a></span></li>
      </ul>
     </p>
    </dd>

   

   
    <dt id="ini.zend.enable-gc">
     <em><code class="parameter">zend.enable_gc</code></em>
     <span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>
    </dt>

    <dd>

     <p class="para">
      启用或禁用循环引用记数搜集器。
     </p>
    </dd>

   

  </dl>

 </p>
</div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="info.installation.html">安装</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="info.resources.html">资源类型</a></div>
 <div class="up"><a href="info.setup.html">安装／配置</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
